[INFO] cloning repository https://github.com/baretbuckley/moll
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/baretbuckley/moll" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbaretbuckley%2Fmoll", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbaretbuckley%2Fmoll'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bdf3c95b9d89710a37ffee6c3fecd9b1afdba9b2
[INFO] fixing baretbuckley/moll against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbaretbuckley%2Fmoll" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/baretbuckley/moll
[INFO] finished tweaking git repo https://github.com/baretbuckley/moll
[INFO] tweaked toml for git repo https://github.com/baretbuckley/moll written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/baretbuckley/moll on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/baretbuckley/moll already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded intmap v3.1.3
[INFO] [stderr]   Downloaded quote v1.0.42
[INFO] [stderr]   Downloaded cargo-expand v1.0.118
[INFO] [stderr]   Downloaded toolchain_find v0.4.0
[INFO] [stderr]   Downloaded cargo-subcommand-metadata v0.1.0
[INFO] [stderr]   Downloaded terminal-trx v0.2.5
[INFO] [stderr]   Downloaded content_inspector v0.2.4
[INFO] [stderr]   Downloaded xterm-color v1.0.1
[INFO] [stderr]   Downloaded std_prelude v0.2.12
[INFO] [stderr]   Downloaded serde_spanned v1.0.3
[INFO] [stderr]   Downloaded syn-select v0.3.0
[INFO] [stderr]   Downloaded clap-cargo v0.18.3
[INFO] [stderr]   Downloaded clircle v0.6.1
[INFO] [stderr]   Downloaded regex v1.12.2
[INFO] [stderr]   Downloaded toml_writer v1.0.4
[INFO] [stderr]   Downloaded toml_datetime v0.7.3
[INFO] [stderr]   Downloaded terminal-colorsaurus v1.0.1
[INFO] [stderr]   Downloaded path_abs v0.5.1
[INFO] [stderr]   Downloaded signal-hook-registry v1.4.7
[INFO] [stderr]   Downloaded grep-cli v0.1.12
[INFO] [stderr]   Downloaded windows-interface v0.56.0
[INFO] [stderr]   Downloaded windows-implement v0.56.0
[INFO] [stderr]   Downloaded ansi_colours v1.2.3
[INFO] [stderr]   Downloaded fs-err v3.2.0
[INFO] [stderr]   Downloaded toml_parser v1.0.4
[INFO] [stderr]   Downloaded serde_with_macros v3.16.1
[INFO] [stderr]   Downloaded windows-core v0.56.0
[INFO] [stderr]   Downloaded console v0.16.1
[INFO] [stderr]   Downloaded plist v1.8.0
[INFO] [stderr]   Downloaded toml v0.9.8
[INFO] [stderr]   Downloaded bytemuck v1.24.0
[INFO] [stderr]   Downloaded clap v4.5.53
[INFO] [stderr]   Downloaded flate2 v1.1.7
[INFO] [stderr]   Downloaded indexmap v2.12.1
[INFO] [stderr]   Downloaded clap_builder v4.5.53
[INFO] [stderr]   Downloaded serde_with v3.16.1
[INFO] [stderr]   Downloaded quick-xml v0.38.4
[INFO] [stderr]   Downloaded syn v2.0.111
[INFO] [stderr]   Downloaded regex-syntax v0.8.8
[INFO] [stderr]   Downloaded regex-automata v0.4.13
[INFO] [stderr]   Downloaded minus v5.6.1
[INFO] [stderr]   Downloaded libc v0.2.178
[INFO] [stderr]   Downloaded bat v0.26.1
[INFO] [stderr]   Downloaded windows v0.56.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 75ec4b06dbc23ebf4fa19b99c94211d4b3464b45f5526ce2beaa78b64c548694
[INFO] running `Command { std: "docker" "start" "75ec4b06dbc23ebf4fa19b99c94211d4b3464b45f5526ce2beaa78b64c548694", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "75ec4b06dbc23ebf4fa19b99c94211d4b3464b45f5526ce2beaa78b64c548694" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "75ec4b06dbc23ebf4fa19b99c94211d4b3464b45f5526ce2beaa78b64c548694", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "75ec4b06dbc23ebf4fa19b99c94211d4b3464b45f5526ce2beaa78b64c548694" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr] warning: moll-builder v0.0.1 (/opt/rustwide/workdir/moll-builder) ignoring invalid dependency `cargo-expand` which is missing a lib target
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]     Checking unicode-ident v1.0.22
[INFO] [stderr]     Checking intmap v3.1.3
[INFO] [stderr]     Checking moll-builder v0.0.1 (/opt/rustwide/workdir/moll-builder)
[INFO] [stdout] warning: struct `Builder` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/builder/mod.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Builder<'a, T, N, P: ParserBuild<T,N>> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> moll-builder/src/parser/builder/mod.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl<'a, T: Eq+Hash+Copy+Ord+Debug, N: Eq+Hash+Copy+Ord+Debug, P: ParserBuild<T,N>> Builder<'a, T, N, P> {
[INFO] [stdout]     | -------------------------------------------------------------------------------------------------------- associated items in this implementation
[INFO] [stdout]  26 |     pub fn build_from(grammar: &'a grammar::Grammar<T,N>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     fn new_state(&mut self, table: &table::Table) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     fn register_table_force(&mut self, table: table::Table) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     fn register_table(&mut self, table: table::Table) -> Result<usize, usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     fn add_connection(&mut self, cond: grammar::Token<T,N>, from: usize, to: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     fn add_table(&mut self, table: table::Table) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn propagate(&mut self, table_idx: usize) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn into_parser(self) -> P {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display` is never used
[INFO] [stdout]    --> moll-builder/src/parser/builder/mod.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl<T: Display, N: Display, P: ParserBuild<T,N>> Builder<'_, T, N, P> {
[INFO] [stdout]     | ---------------------------------------------------------------------- method in this implementation
[INFO] [stdout] 134 |     pub fn display(&self) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClosureTable` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/closure_table.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ClosureTable<N> {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_from`, `closure_step`, `closure`, `items`, and `get` are never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/closure_table.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<N: Hash+Eq+Copy> ClosureTable<N> {
[INFO] [stdout]    | ------------------------------------- associated items in this implementation
[INFO] [stdout] 13 |
[INFO] [stdout] 14 |     pub fn new_from<T>(grammar: &grammar::Grammar<T,N>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn closure_step(&mut self, result: N, nonterm: N) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn closure(&mut self, nonterm_starts: HashMap<N, Vec<N>>) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn items(&self) -> &HashMap<N, HashSet<grammar::Item>> {&self.items}
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 68 |
[INFO] [stdout] 69 |     pub fn get(&self, result: N) -> Option<&HashSet<grammar::Item>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display_table` is never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/closure_table.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl<N: Display> ClosureTable<N> {
[INFO] [stdout]    | -------------------------------- method in this implementation
[INFO] [stdout] 77 |     pub fn display_table<T: Display>(&self, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FollowTable` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/follow_table.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct FollowTable<T,N> {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_from`, `append_nexts_non_terms`, `append_nexts`, `fill`, and `get` are never used
[INFO] [stdout]    --> moll-builder/src/parser/builder/follow_table.rs:13:12
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl<T: Eq+Hash+Copy,N: Eq+Hash+Copy> FollowTable<T,N> {
[INFO] [stdout]     | ------------------------------------------------------ associated items in this implementation
[INFO] [stdout]  12 |
[INFO] [stdout]  13 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  17 |     pub fn new_from(first_table: &FirstTable<T,N>, grammar: &grammar::Grammar<T,N> ) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  24 |     fn append_nexts_non_terms(&mut self, from: N, nexts: &Vec<T>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     fn append_nexts(&mut self, from: N, nexts: &Vec<grammar::Token<T,N>>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub fn fill(&mut self, first_table: &FirstTable<T,N>, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn get(&self, result: N) -> Option<&Vec<grammar::Token<T,N>>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FirstTable` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/first_table.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct FirstTable<T,N> {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_from`, `fill`, and `get` are never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/first_table.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl<T: PartialEq+Copy,N: Hash+Eq+Copy> FirstTable<T,N> {
[INFO] [stdout]    | ------------------------------------------------------- associated items in this implementation
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn new_from(closure_table: &ClosureTable<N>, grammar: &grammar::Grammar<T,N>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn fill(&mut self, closure_table: &ClosureTable<N>, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn get(&self, result: N) -> Option<&Vec<T>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Table` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/table.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Table {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_from`, `new_from_ref`, `closure`, `items`, and `display` are never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/table.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<'a> Table {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     pub fn new_from<T, N: Copy+Eq+Hash, Iter: IntoIterator<Item = grammar::Item>>(root_state: Iter, closure_table: &ClosureTable<N>,...
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn new_from_ref<'b, T, N: Copy+Eq+Hash, Iter: IntoIterator<Item = &'b grammar::Item>>(root_state: Iter, closure_table: &Clos...
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn closure<T, N: Copy+Eq+Hash>(&mut self, closure_table: &ClosureTable<N>, grammar: &grammar::Grammar<T,N>) -> &mut Self {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn items(&self) -> &BTreeSet<grammar::Item> {&self.items}
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 55 |
[INFO] [stdout] 56 |     pub fn display<T: Display, N: Display>(&'a self, grammar: &'a grammar::Grammar<T,N>) -> DisplayTable<'a, T, N> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisplayTable` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/builder/table.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct DisplayTable<'a, T, N> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_runtime_parser` is never used
[INFO] [stdout]  --> moll-builder/src/parser/test.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn test_runtime_parser() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Builder` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/builder/mod.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Builder<'a, T, N, P: ParserBuild<T,N>> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> moll-builder/src/parser/builder/mod.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl<'a, T: Eq+Hash+Copy+Ord+Debug, N: Eq+Hash+Copy+Ord+Debug, P: ParserBuild<T,N>> Builder<'a, T, N, P> {
[INFO] [stdout]     | -------------------------------------------------------------------------------------------------------- associated items in this implementation
[INFO] [stdout]  26 |     pub fn build_from(grammar: &'a grammar::Grammar<T,N>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     fn new_state(&mut self, table: &table::Table) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     fn register_table_force(&mut self, table: table::Table) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     fn register_table(&mut self, table: table::Table) -> Result<usize, usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     fn add_connection(&mut self, cond: grammar::Token<T,N>, from: usize, to: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     fn add_table(&mut self, table: table::Table) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn propagate(&mut self, table_idx: usize) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn into_parser(self) -> P {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display` is never used
[INFO] [stdout]    --> moll-builder/src/parser/builder/mod.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl<T: Display, N: Display, P: ParserBuild<T,N>> Builder<'_, T, N, P> {
[INFO] [stdout]     | ---------------------------------------------------------------------- method in this implementation
[INFO] [stdout] 134 |     pub fn display(&self) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClosureTable` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/closure_table.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ClosureTable<N> {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_from`, `closure_step`, `closure`, `items`, and `get` are never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/closure_table.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<N: Hash+Eq+Copy> ClosureTable<N> {
[INFO] [stdout]    | ------------------------------------- associated items in this implementation
[INFO] [stdout] 13 |
[INFO] [stdout] 14 |     pub fn new_from<T>(grammar: &grammar::Grammar<T,N>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn closure_step(&mut self, result: N, nonterm: N) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn closure(&mut self, nonterm_starts: HashMap<N, Vec<N>>) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn items(&self) -> &HashMap<N, HashSet<grammar::Item>> {&self.items}
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 68 |
[INFO] [stdout] 69 |     pub fn get(&self, result: N) -> Option<&HashSet<grammar::Item>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display_table` is never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/closure_table.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl<N: Display> ClosureTable<N> {
[INFO] [stdout]    | -------------------------------- method in this implementation
[INFO] [stdout] 77 |     pub fn display_table<T: Display>(&self, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FollowTable` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/follow_table.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct FollowTable<T,N> {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_from`, `append_nexts_non_terms`, `append_nexts`, `fill`, and `get` are never used
[INFO] [stdout]    --> moll-builder/src/parser/builder/follow_table.rs:13:12
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl<T: Eq+Hash+Copy,N: Eq+Hash+Copy> FollowTable<T,N> {
[INFO] [stdout]     | ------------------------------------------------------ associated items in this implementation
[INFO] [stdout]  12 |
[INFO] [stdout]  13 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  17 |     pub fn new_from(first_table: &FirstTable<T,N>, grammar: &grammar::Grammar<T,N> ) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  24 |     fn append_nexts_non_terms(&mut self, from: N, nexts: &Vec<T>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     fn append_nexts(&mut self, from: N, nexts: &Vec<grammar::Token<T,N>>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub fn fill(&mut self, first_table: &FirstTable<T,N>, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn get(&self, result: N) -> Option<&Vec<grammar::Token<T,N>>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FirstTable` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/first_table.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct FirstTable<T,N> {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_from`, `fill`, and `get` are never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/first_table.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl<T: PartialEq+Copy,N: Hash+Eq+Copy> FirstTable<T,N> {
[INFO] [stdout]    | ------------------------------------------------------- associated items in this implementation
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn new_from(closure_table: &ClosureTable<N>, grammar: &grammar::Grammar<T,N>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn fill(&mut self, closure_table: &ClosureTable<N>, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn get(&self, result: N) -> Option<&Vec<T>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Table` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/table.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Table {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_from`, `new_from_ref`, `closure`, `items`, and `display` are never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/table.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<'a> Table {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     pub fn new_from<T, N: Copy+Eq+Hash, Iter: IntoIterator<Item = grammar::Item>>(root_state: Iter, closure_table: &ClosureTable<N>,...
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn new_from_ref<'b, T, N: Copy+Eq+Hash, Iter: IntoIterator<Item = &'b grammar::Item>>(root_state: Iter, closure_table: &Clos...
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn closure<T, N: Copy+Eq+Hash>(&mut self, closure_table: &ClosureTable<N>, grammar: &grammar::Grammar<T,N>) -> &mut Self {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn items(&self) -> &BTreeSet<grammar::Item> {&self.items}
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 55 |
[INFO] [stdout] 56 |     pub fn display<T: Display, N: Display>(&'a self, grammar: &'a grammar::Grammar<T,N>) -> DisplayTable<'a, T, N> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisplayTable` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/builder/table.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct DisplayTable<'a, T, N> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_runtime_parser` is never used
[INFO] [stdout]  --> moll-builder/src/parser/test.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn test_runtime_parser() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking moll-macro v0.0.1 (/opt/rustwide/workdir/moll-macro)
[INFO] [stdout] error[E0425]: cannot find type `AST` in module `ast`
[INFO] [stdout]   --> moll-macro/src/translate.rs:64:16
[INFO] [stdout]    |
[INFO] [stdout] 64 |     ast: &ast::AST,
[INFO] [stdout]    |                ^^^ not found in `ast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `grammar` in this scope
[INFO] [stdout]   --> moll-macro/src/translate.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     grammar.clone()
[INFO] [stdout]    |     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::translate::translate_grammar`
[INFO] [stdout]   --> moll-macro/src/lib.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::translate::translate_grammar;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `ParserBuild`
[INFO] [stdout]   --> moll-macro/src/translate.rs:45:6
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl ParserBuild for expanded_ast::Parser {
[INFO] [stdout]    |      ^^^^^^^^^^^ expected 2 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 2 generic parameters: `Term`, `NonTerm`
[INFO] [stdout]   --> moll-builder/src/parser/mod.rs:9:11
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub trait ParserBuild<Term, NonTerm> {
[INFO] [stdout]    |           ^^^^^^^^^^^ ----  -------
[INFO] [stdout] help: add missing generic arguments
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl ParserBuild<Term, NonTerm> for expanded_ast::Parser {
[INFO] [stdout]    |                 +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for enum `moll_builder::parser::grammar::Token`
[INFO] [stdout]   --> moll-macro/src/translate.rs:54:76
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn add_connection(&mut self, condition: moll_builder::parser::grammar::Token, from: usize, to: usize) {
[INFO] [stdout]    |                                                                            ^^^^^ expected 2 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] note: enum defined here, with 2 generic parameters: `T`, `N`
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:4:10
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Token<T, N> {
[INFO] [stdout]    |          ^^^^^ -  -
[INFO] [stdout] help: add missing generic arguments
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn add_connection(&mut self, condition: moll_builder::parser::grammar::Token<T, N>, from: usize, to: usize) {
[INFO] [stdout]    |                                                                                 ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for enum `moll_builder::parser::grammar::Token`
[INFO] [stdout]   --> moll-macro/src/translate.rs:58:75
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn new_reduction(&mut self, condition: moll_builder::parser::grammar::Token, from: usize, rule: moll_builder::parser::grammar::R...
[INFO] [stdout]    |                                                                           ^^^^^ expected 2 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] note: enum defined here, with 2 generic parameters: `T`, `N`
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:4:10
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Token<T, N> {
[INFO] [stdout]    |          ^^^^^ -  -
[INFO] [stdout] help: add missing generic arguments
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn new_reduction(&mut self, condition: moll_builder::parser::grammar::Token<T, N>, from: usize, rule: moll_builder::parser::grammar::RuleIdx) {
[INFO] [stdout]    |                                                                                ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Builder` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/builder/mod.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Builder<'a, T, N, P: ParserBuild<T,N>> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> moll-builder/src/parser/builder/mod.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl<'a, T: Eq+Hash+Copy+Ord+Debug, N: Eq+Hash+Copy+Ord+Debug, P: ParserBuild<T,N>> Builder<'a, T, N, P> {
[INFO] [stdout]     | -------------------------------------------------------------------------------------------------------- associated items in this implementation
[INFO] [stdout]  26 |     pub fn build_from(grammar: &'a grammar::Grammar<T,N>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     fn new_state(&mut self, table: &table::Table) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     fn register_table_force(&mut self, table: table::Table) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     fn register_table(&mut self, table: table::Table) -> Result<usize, usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     fn add_connection(&mut self, cond: grammar::Token<T,N>, from: usize, to: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     fn add_table(&mut self, table: table::Table) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn propagate(&mut self, table_idx: usize) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn into_parser(self) -> P {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display` is never used
[INFO] [stdout]    --> moll-builder/src/parser/builder/mod.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl<T: Display, N: Display, P: ParserBuild<T,N>> Builder<'_, T, N, P> {
[INFO] [stdout]     | ---------------------------------------------------------------------- method in this implementation
[INFO] [stdout] 134 |     pub fn display(&self) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClosureTable` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/closure_table.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ClosureTable<N> {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_from`, `closure_step`, `closure`, `items`, and `get` are never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/closure_table.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<N: Hash+Eq+Copy> ClosureTable<N> {
[INFO] [stdout]    | ------------------------------------- associated items in this implementation
[INFO] [stdout] 13 |
[INFO] [stdout] 14 |     pub fn new_from<T>(grammar: &grammar::Grammar<T,N>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn closure_step(&mut self, result: N, nonterm: N) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn closure(&mut self, nonterm_starts: HashMap<N, Vec<N>>) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn items(&self) -> &HashMap<N, HashSet<grammar::Item>> {&self.items}
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 68 |
[INFO] [stdout] 69 |     pub fn get(&self, result: N) -> Option<&HashSet<grammar::Item>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display_table` is never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/closure_table.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl<N: Display> ClosureTable<N> {
[INFO] [stdout]    | -------------------------------- method in this implementation
[INFO] [stdout] 77 |     pub fn display_table<T: Display>(&self, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FollowTable` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/follow_table.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct FollowTable<T,N> {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_from`, `append_nexts_non_terms`, `append_nexts`, `fill`, and `get` are never used
[INFO] [stdout]    --> moll-builder/src/parser/builder/follow_table.rs:13:12
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl<T: Eq+Hash+Copy,N: Eq+Hash+Copy> FollowTable<T,N> {
[INFO] [stdout]     | ------------------------------------------------------ associated items in this implementation
[INFO] [stdout]  12 |
[INFO] [stdout]  13 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  17 |     pub fn new_from(first_table: &FirstTable<T,N>, grammar: &grammar::Grammar<T,N> ) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  24 |     fn append_nexts_non_terms(&mut self, from: N, nexts: &Vec<T>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     fn append_nexts(&mut self, from: N, nexts: &Vec<grammar::Token<T,N>>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub fn fill(&mut self, first_table: &FirstTable<T,N>, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn get(&self, result: N) -> Option<&Vec<grammar::Token<T,N>>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FirstTable` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/first_table.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct FirstTable<T,N> {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_from`, `fill`, and `get` are never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/first_table.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl<T: PartialEq+Copy,N: Hash+Eq+Copy> FirstTable<T,N> {
[INFO] [stdout]    | ------------------------------------------------------- associated items in this implementation
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn new_from(closure_table: &ClosureTable<N>, grammar: &grammar::Grammar<T,N>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn fill(&mut self, closure_table: &ClosureTable<N>, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn get(&self, result: N) -> Option<&Vec<T>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Table` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/table.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Table {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_from`, `new_from_ref`, `closure`, `items`, and `display` are never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/table.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<'a> Table {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     pub fn new_from<T, N: Copy+Eq+Hash, Iter: IntoIterator<Item = grammar::Item>>(root_state: Iter, closure_table: &ClosureTable<N>,...
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn new_from_ref<'b, T, N: Copy+Eq+Hash, Iter: IntoIterator<Item = &'b grammar::Item>>(root_state: Iter, closure_table: &Clos...
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn closure<T, N: Copy+Eq+Hash>(&mut self, closure_table: &ClosureTable<N>, grammar: &grammar::Grammar<T,N>) -> &mut Self {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn items(&self) -> &BTreeSet<grammar::Item> {&self.items}
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 55 |
[INFO] [stdout] 56 |     pub fn display<T: Display, N: Display>(&'a self, grammar: &'a grammar::Grammar<T,N>) -> DisplayTable<'a, T, N> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisplayTable` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/builder/table.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct DisplayTable<'a, T, N> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_runtime_parser` is never used
[INFO] [stdout]  --> moll-builder/src/parser/test.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn test_runtime_parser() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to`
[INFO] [stdout]   --> moll-builder/src/tokenizer/fa.rs:74:39
[INFO] [stdout]    |
[INFO] [stdout] 74 |             Action::TerminateJump(id, to) => {
[INFO] [stdout]    |                                       ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> moll-macro/src/lib.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn parser(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
[INFO] [stdout]    |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0425.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `moll-macro` (lib test) due to 5 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: struct `Tokenizer` is never constructed
[INFO] [stdout]   --> moll-builder/src/tokenizer/mod.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Tokenizer<'a> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> moll-builder/src/tokenizer/mod.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<'a> Tokenizer<'a> {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 19 |
[INFO] [stdout] 20 |     fn new(sm: fa::FiniteAutomata) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn access(&self, from: usize, to: usize) -> &str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn add_token_type(&mut self, name: &str, id: u32) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn load_input(& mut self, input: &'a str) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn next(&mut self) -> Option<(usize, usize, u32)> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn complete(&self) -> bool {self.idx == self.input.len()}
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 67 |
[INFO] [stdout] 68 |     pub fn token_name(&self, id: u32) -> Option<&String> {self.token_names.get(id)}
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 69 |
[INFO] [stdout] 70 |     pub fn token_id(&self, str: &str) -> Option<&u32> {self.token_ids.get(str)}
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_tokenizer` is never used
[INFO] [stdout]   --> moll-builder/src/tokenizer/mod.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn test_tokenizer() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Action` is never used
[INFO] [stdout]   --> moll-builder/src/tokenizer/fa.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Action {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]   --> moll-builder/src/tokenizer/fa.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Node {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next`, and `add_transition` are never used
[INFO] [stdout]   --> moll-builder/src/tokenizer/fa.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Node {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn new(fail: Action) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn next(&self, key: u32) -> Action {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn add_transition(&mut self, key: u32, next: Action) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FiniteAutomata` is never constructed
[INFO] [stdout]   --> moll-builder/src/tokenizer/fa.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct FiniteAutomata {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> moll-builder/src/tokenizer/fa.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  49 | impl FiniteAutomata {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  50 |
[INFO] [stdout]  51 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  55 |     fn test_action(&self, action: Action) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     fn get_node_termination(&self, n: usize) -> Option<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn parse(&mut self, input: &str) -> (usize, u32)  {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn add_transition(&mut self, key: u32, from: usize, effect: Action) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn add_transition_between(&mut self, key: u32, from: usize, to: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn create_node(&mut self, fail_action: Action) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn create_default_node(&mut self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn set_fail_action(&mut self, node: usize, action: Action) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `NUMBER` is never used
[INFO] [stdout]  --> moll-builder/src/tokenizer/int_prebuild_test.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | static NUMBER: u32 = 1;
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `number` is never used
[INFO] [stdout]  --> moll-builder/src/tokenizer/int_prebuild_test.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn number(input: &str, l: usize) -> (usize, u32) {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `number_dot` is never used
[INFO] [stdout]   --> moll-builder/src/tokenizer/int_prebuild_test.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn number_dot(input: &str, l: usize) -> (usize, u32) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `number_tail` is never used
[INFO] [stdout]   --> moll-builder/src/tokenizer/int_prebuild_test.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn number_tail(input: &str, l: usize) -> (usize, u32) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> moll-builder/src/internal/tokenizer.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Token {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SpecialChars` is never used
[INFO] [stdout]   --> moll-builder/src/internal/tokenizer.rs:11:6
[INFO] [stdout]    |
[INFO] [stdout] 11 | enum SpecialChars {
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tokenizer` is never constructed
[INFO] [stdout]   --> moll-builder/src/internal/tokenizer.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Tokenizer<'a> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> moll-builder/src/internal/tokenizer.rs:24:12
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl<'a> Tokenizer<'a> {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  24 |     pub fn new(input_string: &'a str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  50 |     pub fn access(&self, from: usize, to: usize) -> &'a str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     fn cut_input(&mut self, n: usize) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |     fn cut_rest(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     fn cur_input(&self) -> &str {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     fn cur_input_from(&self, offset: usize) -> &str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     fn get_next_literal(&mut self, closer: char) -> Token {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     fn skip_whitespace(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn get_next_identifier(&mut self) -> Token {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn get_next_symbol(&mut self, c: char) -> Token {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn next(&mut self) -> Token {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn next_identifier(&mut self) -> (usize, usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn skip_symbol(&mut self, c: char) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_internal_tokenizer` is never used
[INFO] [stdout]    --> moll-builder/src/internal/tokenizer.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub fn test_internal_tokenizer() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ParserBuild` is never used
[INFO] [stdout]  --> moll-builder/src/parser/mod.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub trait ParserBuild<Term, NonTerm> {
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Builder` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/builder/mod.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Builder<'a, T, N, P: ParserBuild<T,N>> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> moll-builder/src/parser/builder/mod.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl<'a, T: Eq+Hash+Copy+Ord+Debug, N: Eq+Hash+Copy+Ord+Debug, P: ParserBuild<T,N>> Builder<'a, T, N, P> {
[INFO] [stdout]     | -------------------------------------------------------------------------------------------------------- associated items in this implementation
[INFO] [stdout]  26 |     pub fn build_from(grammar: &'a grammar::Grammar<T,N>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     fn new_state(&mut self, table: &table::Table) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     fn register_table_force(&mut self, table: table::Table) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     fn register_table(&mut self, table: table::Table) -> Result<usize, usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     fn add_connection(&mut self, cond: grammar::Token<T,N>, from: usize, to: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     fn add_table(&mut self, table: table::Table) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn propagate(&mut self, table_idx: usize) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn into_parser(self) -> P {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display` is never used
[INFO] [stdout]    --> moll-builder/src/parser/builder/mod.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl<T: Display, N: Display, P: ParserBuild<T,N>> Builder<'_, T, N, P> {
[INFO] [stdout]     | ---------------------------------------------------------------------- method in this implementation
[INFO] [stdout] 134 |     pub fn display(&self) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClosureTable` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/closure_table.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ClosureTable<N> {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_from`, `closure_step`, `closure`, `items`, and `get` are never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/closure_table.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<N: Hash+Eq+Copy> ClosureTable<N> {
[INFO] [stdout]    | ------------------------------------- associated items in this implementation
[INFO] [stdout] 13 |
[INFO] [stdout] 14 |     pub fn new_from<T>(grammar: &grammar::Grammar<T,N>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn closure_step(&mut self, result: N, nonterm: N) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn closure(&mut self, nonterm_starts: HashMap<N, Vec<N>>) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn items(&self) -> &HashMap<N, HashSet<grammar::Item>> {&self.items}
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 68 |
[INFO] [stdout] 69 |     pub fn get(&self, result: N) -> Option<&HashSet<grammar::Item>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display_table` is never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/closure_table.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl<N: Display> ClosureTable<N> {
[INFO] [stdout]    | -------------------------------- method in this implementation
[INFO] [stdout] 77 |     pub fn display_table<T: Display>(&self, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FollowTable` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/follow_table.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct FollowTable<T,N> {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_from`, `append_nexts_non_terms`, `append_nexts`, `fill`, and `get` are never used
[INFO] [stdout]    --> moll-builder/src/parser/builder/follow_table.rs:13:12
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl<T: Eq+Hash+Copy,N: Eq+Hash+Copy> FollowTable<T,N> {
[INFO] [stdout]     | ------------------------------------------------------ associated items in this implementation
[INFO] [stdout]  12 |
[INFO] [stdout]  13 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  17 |     pub fn new_from(first_table: &FirstTable<T,N>, grammar: &grammar::Grammar<T,N> ) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  24 |     fn append_nexts_non_terms(&mut self, from: N, nexts: &Vec<T>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     fn append_nexts(&mut self, from: N, nexts: &Vec<grammar::Token<T,N>>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub fn fill(&mut self, first_table: &FirstTable<T,N>, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn get(&self, result: N) -> Option<&Vec<grammar::Token<T,N>>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FirstTable` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/first_table.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct FirstTable<T,N> {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_from`, `fill`, and `get` are never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/first_table.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl<T: PartialEq+Copy,N: Hash+Eq+Copy> FirstTable<T,N> {
[INFO] [stdout]    | ------------------------------------------------------- associated items in this implementation
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn new_from(closure_table: &ClosureTable<N>, grammar: &grammar::Grammar<T,N>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn fill(&mut self, closure_table: &ClosureTable<N>, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn get(&self, result: N) -> Option<&Vec<T>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Table` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/table.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Table {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_from`, `new_from_ref`, `closure`, `items`, and `display` are never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/table.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<'a> Table {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     pub fn new_from<T, N: Copy+Eq+Hash, Iter: IntoIterator<Item = grammar::Item>>(root_state: Iter, closure_table: &ClosureTable<N>,...
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn new_from_ref<'b, T, N: Copy+Eq+Hash, Iter: IntoIterator<Item = &'b grammar::Item>>(root_state: Iter, closure_table: &Clos...
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn closure<T, N: Copy+Eq+Hash>(&mut self, closure_table: &ClosureTable<N>, grammar: &grammar::Grammar<T,N>) -> &mut Self {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn items(&self) -> &BTreeSet<grammar::Item> {&self.items}
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 55 |
[INFO] [stdout] 56 |     pub fn display<T: Display, N: Display>(&'a self, grammar: &'a grammar::Grammar<T,N>) -> DisplayTable<'a, T, N> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisplayTable` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/builder/table.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct DisplayTable<'a, T, N> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> moll-builder/src/parser/grammar.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Token<T, N> {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rule` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Rule<T,N> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_from` is never used
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl<T,N> Rule<T,N> {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 42 |     pub fn new_from(result: N, rule: Vec<Token<T,N>>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Grammar` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Grammar<Terminal, NonTerminal> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_from` is never used
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl<T,N: Copy> Grammar<T,N> {
[INFO] [stdout]    | ---------------------------- associated function in this implementation
[INFO] [stdout] 54 |     pub fn new_from(start: N, rules: Vec<Rule<T,N>>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `rules`, `start`, and `get` are never used
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl<T,N> Grammar<T,N> {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] 80 |
[INFO] [stdout] 81 |     pub fn rules(&self) -> &Vec<Rule<T,N>> {&self.rules}
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 82 |     pub fn start(&self) -> &N {&self.start}
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 83 |
[INFO] [stdout] 84 |     pub fn get(&self, rule_idx: RuleIdx) -> Option<&Rule<T,N>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RuleIdx` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct RuleIdx {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `new_option` are never used
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 94 | impl RuleIdx {
[INFO] [stdout]    | ------------ associated functions in this implementation
[INFO] [stdout] 95 |     pub fn new(idx: usize) -> Self {RuleIdx {idx}}
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 96 |     pub fn new_option(idx: Option<usize>) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Item` is never constructed
[INFO] [stdout]    --> moll-builder/src/parser/grammar.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct Item {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> moll-builder/src/parser/grammar.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl Item {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 114 |
[INFO] [stdout] 115 |     pub fn new(rule_idx: RuleIdx, pos: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn next<'a, T, N>(&self, grammar: &'a Grammar<T,N>) -> Option<&'a Token<T,N>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn first<'a, T, N>(&self, grammar: &'a Grammar<T,N>) -> Option<&'a Token<T,N>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn step<'a, T, N>(&mut self, grammar: &'a Grammar<T,N>) -> Option<&'a Token<T,N>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn completed<T,N>(&self, grammar: &Grammar<T,N>) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn completed_rule<T,N>(&self, rule: &Rule<T,N>) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn rule_idx(&self) -> RuleIdx {self.rule}
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 150 |
[INFO] [stdout] 151 |     pub fn display<'a, T, N>(&'a self, grammar: &'a Grammar<T,N>) -> DisplayItem<'a, T, N> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisplayItem` is never constructed
[INFO] [stdout]    --> moll-builder/src/parser/grammar.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct DisplayItem<'a, T, N> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NodeIdx` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/runtime.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct NodeIdx {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> moll-builder/src/parser/runtime.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl NodeIdx {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 13 |     pub fn new(idx: usize) -> Self {NodeIdx{idx}}
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Action` is never used
[INFO] [stdout]   --> moll-builder/src/parser/runtime.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | enum Action {
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display` is never used
[INFO] [stdout]   --> moll-builder/src/parser/runtime.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Action {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 23 |     pub fn display<'a, T: Display, N: Display> (&'a self, grammar: &'a grammar::Grammar<T,N>) -> ActionDisplay<'a, T, N> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ActionDisplay` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/runtime.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct ActionDisplay<'a, T, N> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/runtime.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct Node<T, N> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next`, `add_transition`, and `display` are never used
[INFO] [stdout]   --> moll-builder/src/parser/runtime.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: Eq+Hash, N: Eq+Hash> Node<T,N> {
[INFO] [stdout]    | -------------------------------------- associated items in this implementation
[INFO] [stdout] 48 |
[INFO] [stdout] 49 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fn next(&self, key: grammar::Token<T,N>) -> Option<&Action> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn add_transition(&mut self, key: grammar::Token<T,N>, next: Action) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn display<'a> (&'a self, grammar: &'a grammar::Grammar<T,N>) -> NodeDisplay<'a, T, N> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NodeDisplay` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/runtime.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | struct NodeDisplay<'a, T, N> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LALRParser` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/runtime.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct LALRParser<T, N> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `reparse`, `parse_step`, `parse`, and `display` are never used
[INFO] [stdout]    --> moll-builder/src/parser/runtime.rs:91:8
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl<T: Eq+Hash+Copy+Debug, N: Eq+Hash+Copy+Debug> LALRParser<T,N> {
[INFO] [stdout]     | ------------------------------------------------------------------ methods in this implementation
[INFO] [stdout]  90 |
[INFO] [stdout]  91 |     fn reparse(&mut self, stack: &mut Vec<grammar::Token<T,N>>, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn parse_step(&mut self, c: grammar::Token<T,N>, stack: &mut Vec<grammar::Token<T,N>>, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn parse<A: Assembler>(&mut self, input: Vec<grammar::Token<T,N>>, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn display<'a> (&'a self, grammar: &'a grammar::Grammar<T,N>) -> LALRParserDisplay<'a, T, N> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LALRParserDisplay` is never constructed
[INFO] [stdout]    --> moll-builder/src/parser/runtime.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct LALRParserDisplay<'a, T, N> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Assembler` is never used
[INFO] [stdout]    --> moll-builder/src/parser/runtime.rs:189:11
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub trait Assembler {
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AssemTmp` is never constructed
[INFO] [stdout]    --> moll-builder/src/parser/runtime.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct AssemTmp {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_runtime_parser` is never used
[INFO] [stdout]  --> moll-builder/src/parser/test.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn test_runtime_parser() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `AST` in module `ast`
[INFO] [stdout]   --> moll-macro/src/translate.rs:64:16
[INFO] [stdout]    |
[INFO] [stdout] 64 |     ast: &ast::AST,
[INFO] [stdout]    |                ^^^ not found in `ast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `grammar` in this scope
[INFO] [stdout]   --> moll-macro/src/translate.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     grammar.clone()
[INFO] [stdout]    |     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::translate::translate_grammar`
[INFO] [stdout]   --> moll-macro/src/lib.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::translate::translate_grammar;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `ParserBuild`
[INFO] [stdout]   --> moll-macro/src/translate.rs:45:6
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl ParserBuild for expanded_ast::Parser {
[INFO] [stdout]    |      ^^^^^^^^^^^ expected 2 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 2 generic parameters: `Term`, `NonTerm`
[INFO] [stdout]   --> moll-builder/src/parser/mod.rs:9:11
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub trait ParserBuild<Term, NonTerm> {
[INFO] [stdout]    |           ^^^^^^^^^^^ ----  -------
[INFO] [stdout] help: add missing generic arguments
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl ParserBuild<Term, NonTerm> for expanded_ast::Parser {
[INFO] [stdout]    |                 +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for enum `moll_builder::parser::grammar::Token`
[INFO] [stdout]   --> moll-macro/src/translate.rs:54:76
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn add_connection(&mut self, condition: moll_builder::parser::grammar::Token, from: usize, to: usize) {
[INFO] [stdout]    |                                                                            ^^^^^ expected 2 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] note: enum defined here, with 2 generic parameters: `T`, `N`
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:4:10
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Token<T, N> {
[INFO] [stdout]    |          ^^^^^ -  -
[INFO] [stdout] help: add missing generic arguments
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn add_connection(&mut self, condition: moll_builder::parser::grammar::Token<T, N>, from: usize, to: usize) {
[INFO] [stdout]    |                                                                                 ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for enum `moll_builder::parser::grammar::Token`
[INFO] [stdout]   --> moll-macro/src/translate.rs:58:75
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn new_reduction(&mut self, condition: moll_builder::parser::grammar::Token, from: usize, rule: moll_builder::parser::grammar::R...
[INFO] [stdout]    |                                                                           ^^^^^ expected 2 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] note: enum defined here, with 2 generic parameters: `T`, `N`
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:4:10
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Token<T, N> {
[INFO] [stdout]    |          ^^^^^ -  -
[INFO] [stdout] help: add missing generic arguments
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn new_reduction(&mut self, condition: moll_builder::parser::grammar::Token<T, N>, from: usize, rule: moll_builder::parser::grammar::RuleIdx) {
[INFO] [stdout]    |                                                                                ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> moll-macro/src/lib.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn parser(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
[INFO] [stdout]    |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0425.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `moll-macro` (lib) due to 5 previous errors; 2 warnings emitted
[INFO] [stdout] error[E0425]: cannot find type `AST` in module `ast`
[INFO] [stdout]   --> moll-macro/src/translate.rs:64:16
[INFO] [stdout]    |
[INFO] [stdout] 64 |     ast: &ast::AST,
[INFO] [stdout]    |                ^^^ not found in `ast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `grammar` in this scope
[INFO] [stdout]   --> moll-macro/src/translate.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     grammar.clone()
[INFO] [stdout]    |     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::translate::translate_grammar`
[INFO] [stdout]   --> moll-macro/src/lib.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::translate::translate_grammar;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `ParserBuild`
[INFO] [stdout]   --> moll-macro/src/translate.rs:45:6
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl ParserBuild for expanded_ast::Parser {
[INFO] [stdout]    |      ^^^^^^^^^^^ expected 2 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 2 generic parameters: `Term`, `NonTerm`
[INFO] [stdout]   --> moll-builder/src/parser/mod.rs:9:11
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub trait ParserBuild<Term, NonTerm> {
[INFO] [stdout]    |           ^^^^^^^^^^^ ----  -------
[INFO] [stdout] help: add missing generic arguments
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl ParserBuild<Term, NonTerm> for expanded_ast::Parser {
[INFO] [stdout]    |                 +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for enum `moll_builder::parser::grammar::Token`
[INFO] [stdout]   --> moll-macro/src/translate.rs:54:76
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn add_connection(&mut self, condition: moll_builder::parser::grammar::Token, from: usize, to: usize) {
[INFO] [stdout]    |                                                                            ^^^^^ expected 2 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] note: enum defined here, with 2 generic parameters: `T`, `N`
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:4:10
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Token<T, N> {
[INFO] [stdout]    |          ^^^^^ -  -
[INFO] [stdout] help: add missing generic arguments
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn add_connection(&mut self, condition: moll_builder::parser::grammar::Token<T, N>, from: usize, to: usize) {
[INFO] [stdout]    |                                                                                 ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for enum `moll_builder::parser::grammar::Token`
[INFO] [stdout]   --> moll-macro/src/translate.rs:58:75
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn new_reduction(&mut self, condition: moll_builder::parser::grammar::Token, from: usize, rule: moll_builder::parser::grammar::R...
[INFO] [stdout]    |                                                                           ^^^^^ expected 2 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] note: enum defined here, with 2 generic parameters: `T`, `N`
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:4:10
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Token<T, N> {
[INFO] [stdout]    |          ^^^^^ -  -
[INFO] [stdout] help: add missing generic arguments
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn new_reduction(&mut self, condition: moll_builder::parser::grammar::Token<T, N>, from: usize, rule: moll_builder::parser::grammar::RuleIdx) {
[INFO] [stdout]    |                                                                                ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to`
[INFO] [stdout]   --> moll-builder/src/tokenizer/fa.rs:74:39
[INFO] [stdout]    |
[INFO] [stdout] 74 |             Action::TerminateJump(id, to) => {
[INFO] [stdout]    |                                       ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tokenizer` is never constructed
[INFO] [stdout]   --> moll-builder/src/tokenizer/mod.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Tokenizer<'a> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> moll-builder/src/tokenizer/mod.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<'a> Tokenizer<'a> {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 19 |
[INFO] [stdout] 20 |     fn new(sm: fa::FiniteAutomata) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn access(&self, from: usize, to: usize) -> &str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn add_token_type(&mut self, name: &str, id: u32) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn load_input(& mut self, input: &'a str) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn next(&mut self) -> Option<(usize, usize, u32)> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn complete(&self) -> bool {self.idx == self.input.len()}
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 67 |
[INFO] [stdout] 68 |     pub fn token_name(&self, id: u32) -> Option<&String> {self.token_names.get(id)}
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 69 |
[INFO] [stdout] 70 |     pub fn token_id(&self, str: &str) -> Option<&u32> {self.token_ids.get(str)}
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_tokenizer` is never used
[INFO] [stdout]   --> moll-builder/src/tokenizer/mod.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn test_tokenizer() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Action` is never used
[INFO] [stdout]   --> moll-builder/src/tokenizer/fa.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Action {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]   --> moll-builder/src/tokenizer/fa.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Node {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next`, and `add_transition` are never used
[INFO] [stdout]   --> moll-builder/src/tokenizer/fa.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Node {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn new(fail: Action) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn next(&self, key: u32) -> Action {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn add_transition(&mut self, key: u32, next: Action) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FiniteAutomata` is never constructed
[INFO] [stdout]   --> moll-builder/src/tokenizer/fa.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct FiniteAutomata {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> moll-builder/src/tokenizer/fa.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  49 | impl FiniteAutomata {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  50 |
[INFO] [stdout]  51 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  55 |     fn test_action(&self, action: Action) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     fn get_node_termination(&self, n: usize) -> Option<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn parse(&mut self, input: &str) -> (usize, u32)  {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn add_transition(&mut self, key: u32, from: usize, effect: Action) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn add_transition_between(&mut self, key: u32, from: usize, to: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn create_node(&mut self, fail_action: Action) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn create_default_node(&mut self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn set_fail_action(&mut self, node: usize, action: Action) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `NUMBER` is never used
[INFO] [stdout]  --> moll-builder/src/tokenizer/int_prebuild_test.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | static NUMBER: u32 = 1;
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `number` is never used
[INFO] [stdout]  --> moll-builder/src/tokenizer/int_prebuild_test.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn number(input: &str, l: usize) -> (usize, u32) {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `number_dot` is never used
[INFO] [stdout]   --> moll-builder/src/tokenizer/int_prebuild_test.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn number_dot(input: &str, l: usize) -> (usize, u32) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `number_tail` is never used
[INFO] [stdout]   --> moll-builder/src/tokenizer/int_prebuild_test.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn number_tail(input: &str, l: usize) -> (usize, u32) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> moll-builder/src/internal/tokenizer.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Token {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SpecialChars` is never used
[INFO] [stdout]   --> moll-builder/src/internal/tokenizer.rs:11:6
[INFO] [stdout]    |
[INFO] [stdout] 11 | enum SpecialChars {
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tokenizer` is never constructed
[INFO] [stdout]   --> moll-builder/src/internal/tokenizer.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Tokenizer<'a> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> moll-builder/src/internal/tokenizer.rs:24:12
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl<'a> Tokenizer<'a> {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  24 |     pub fn new(input_string: &'a str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  50 |     pub fn access(&self, from: usize, to: usize) -> &'a str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     fn cut_input(&mut self, n: usize) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |     fn cut_rest(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     fn cur_input(&self) -> &str {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     fn cur_input_from(&self, offset: usize) -> &str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     fn get_next_literal(&mut self, closer: char) -> Token {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     fn skip_whitespace(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn get_next_identifier(&mut self) -> Token {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn get_next_symbol(&mut self, c: char) -> Token {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn next(&mut self) -> Token {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn next_identifier(&mut self) -> (usize, usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn skip_symbol(&mut self, c: char) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_internal_tokenizer` is never used
[INFO] [stdout]    --> moll-builder/src/internal/tokenizer.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub fn test_internal_tokenizer() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ParserBuild` is never used
[INFO] [stdout]  --> moll-builder/src/parser/mod.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub trait ParserBuild<Term, NonTerm> {
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Builder` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/builder/mod.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Builder<'a, T, N, P: ParserBuild<T,N>> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> moll-builder/src/parser/builder/mod.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl<'a, T: Eq+Hash+Copy+Ord+Debug, N: Eq+Hash+Copy+Ord+Debug, P: ParserBuild<T,N>> Builder<'a, T, N, P> {
[INFO] [stdout]     | -------------------------------------------------------------------------------------------------------- associated items in this implementation
[INFO] [stdout]  26 |     pub fn build_from(grammar: &'a grammar::Grammar<T,N>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     fn new_state(&mut self, table: &table::Table) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     fn register_table_force(&mut self, table: table::Table) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     fn register_table(&mut self, table: table::Table) -> Result<usize, usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     fn add_connection(&mut self, cond: grammar::Token<T,N>, from: usize, to: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     fn add_table(&mut self, table: table::Table) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn propagate(&mut self, table_idx: usize) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn into_parser(self) -> P {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display` is never used
[INFO] [stdout]    --> moll-builder/src/parser/builder/mod.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl<T: Display, N: Display, P: ParserBuild<T,N>> Builder<'_, T, N, P> {
[INFO] [stdout]     | ---------------------------------------------------------------------- method in this implementation
[INFO] [stdout] 134 |     pub fn display(&self) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClosureTable` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/closure_table.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ClosureTable<N> {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_from`, `closure_step`, `closure`, `items`, and `get` are never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/closure_table.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<N: Hash+Eq+Copy> ClosureTable<N> {
[INFO] [stdout]    | ------------------------------------- associated items in this implementation
[INFO] [stdout] 13 |
[INFO] [stdout] 14 |     pub fn new_from<T>(grammar: &grammar::Grammar<T,N>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn closure_step(&mut self, result: N, nonterm: N) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn closure(&mut self, nonterm_starts: HashMap<N, Vec<N>>) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn items(&self) -> &HashMap<N, HashSet<grammar::Item>> {&self.items}
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 68 |
[INFO] [stdout] 69 |     pub fn get(&self, result: N) -> Option<&HashSet<grammar::Item>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display_table` is never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/closure_table.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl<N: Display> ClosureTable<N> {
[INFO] [stdout]    | -------------------------------- method in this implementation
[INFO] [stdout] 77 |     pub fn display_table<T: Display>(&self, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FollowTable` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/follow_table.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct FollowTable<T,N> {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_from`, `append_nexts_non_terms`, `append_nexts`, `fill`, and `get` are never used
[INFO] [stdout]    --> moll-builder/src/parser/builder/follow_table.rs:13:12
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl<T: Eq+Hash+Copy,N: Eq+Hash+Copy> FollowTable<T,N> {
[INFO] [stdout]     | ------------------------------------------------------ associated items in this implementation
[INFO] [stdout]  12 |
[INFO] [stdout]  13 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  17 |     pub fn new_from(first_table: &FirstTable<T,N>, grammar: &grammar::Grammar<T,N> ) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  24 |     fn append_nexts_non_terms(&mut self, from: N, nexts: &Vec<T>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     fn append_nexts(&mut self, from: N, nexts: &Vec<grammar::Token<T,N>>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub fn fill(&mut self, first_table: &FirstTable<T,N>, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn get(&self, result: N) -> Option<&Vec<grammar::Token<T,N>>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FirstTable` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/first_table.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct FirstTable<T,N> {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_from`, `fill`, and `get` are never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/first_table.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl<T: PartialEq+Copy,N: Hash+Eq+Copy> FirstTable<T,N> {
[INFO] [stdout]    | ------------------------------------------------------- associated items in this implementation
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn new_from(closure_table: &ClosureTable<N>, grammar: &grammar::Grammar<T,N>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn fill(&mut self, closure_table: &ClosureTable<N>, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn get(&self, result: N) -> Option<&Vec<T>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Table` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/builder/table.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Table {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_from`, `new_from_ref`, `closure`, `items`, and `display` are never used
[INFO] [stdout]   --> moll-builder/src/parser/builder/table.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<'a> Table {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     pub fn new_from<T, N: Copy+Eq+Hash, Iter: IntoIterator<Item = grammar::Item>>(root_state: Iter, closure_table: &ClosureTable<N>,...
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn new_from_ref<'b, T, N: Copy+Eq+Hash, Iter: IntoIterator<Item = &'b grammar::Item>>(root_state: Iter, closure_table: &Clos...
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn closure<T, N: Copy+Eq+Hash>(&mut self, closure_table: &ClosureTable<N>, grammar: &grammar::Grammar<T,N>) -> &mut Self {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn items(&self) -> &BTreeSet<grammar::Item> {&self.items}
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 55 |
[INFO] [stdout] 56 |     pub fn display<T: Display, N: Display>(&'a self, grammar: &'a grammar::Grammar<T,N>) -> DisplayTable<'a, T, N> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisplayTable` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/builder/table.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct DisplayTable<'a, T, N> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> moll-builder/src/parser/grammar.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Token<T, N> {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rule` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Rule<T,N> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_from` is never used
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl<T,N> Rule<T,N> {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 42 |     pub fn new_from(result: N, rule: Vec<Token<T,N>>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Grammar` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Grammar<Terminal, NonTerminal> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_from` is never used
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl<T,N: Copy> Grammar<T,N> {
[INFO] [stdout]    | ---------------------------- associated function in this implementation
[INFO] [stdout] 54 |     pub fn new_from(start: N, rules: Vec<Rule<T,N>>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `rules`, `start`, and `get` are never used
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl<T,N> Grammar<T,N> {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] 80 |
[INFO] [stdout] 81 |     pub fn rules(&self) -> &Vec<Rule<T,N>> {&self.rules}
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 82 |     pub fn start(&self) -> &N {&self.start}
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 83 |
[INFO] [stdout] 84 |     pub fn get(&self, rule_idx: RuleIdx) -> Option<&Rule<T,N>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RuleIdx` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct RuleIdx {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `new_option` are never used
[INFO] [stdout]   --> moll-builder/src/parser/grammar.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 94 | impl RuleIdx {
[INFO] [stdout]    | ------------ associated functions in this implementation
[INFO] [stdout] 95 |     pub fn new(idx: usize) -> Self {RuleIdx {idx}}
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 96 |     pub fn new_option(idx: Option<usize>) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Item` is never constructed
[INFO] [stdout]    --> moll-builder/src/parser/grammar.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct Item {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> moll-builder/src/parser/grammar.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl Item {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 114 |
[INFO] [stdout] 115 |     pub fn new(rule_idx: RuleIdx, pos: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn next<'a, T, N>(&self, grammar: &'a Grammar<T,N>) -> Option<&'a Token<T,N>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn first<'a, T, N>(&self, grammar: &'a Grammar<T,N>) -> Option<&'a Token<T,N>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn step<'a, T, N>(&mut self, grammar: &'a Grammar<T,N>) -> Option<&'a Token<T,N>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn completed<T,N>(&self, grammar: &Grammar<T,N>) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn completed_rule<T,N>(&self, rule: &Rule<T,N>) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn rule_idx(&self) -> RuleIdx {self.rule}
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 150 |
[INFO] [stdout] 151 |     pub fn display<'a, T, N>(&'a self, grammar: &'a Grammar<T,N>) -> DisplayItem<'a, T, N> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisplayItem` is never constructed
[INFO] [stdout]    --> moll-builder/src/parser/grammar.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct DisplayItem<'a, T, N> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NodeIdx` is never constructed
[INFO] [stdout]  --> moll-builder/src/parser/runtime.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct NodeIdx {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> moll-builder/src/parser/runtime.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl NodeIdx {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 13 |     pub fn new(idx: usize) -> Self {NodeIdx{idx}}
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Action` is never used
[INFO] [stdout]   --> moll-builder/src/parser/runtime.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | enum Action {
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display` is never used
[INFO] [stdout]   --> moll-builder/src/parser/runtime.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Action {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 23 |     pub fn display<'a, T: Display, N: Display> (&'a self, grammar: &'a grammar::Grammar<T,N>) -> ActionDisplay<'a, T, N> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ActionDisplay` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/runtime.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct ActionDisplay<'a, T, N> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/runtime.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct Node<T, N> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next`, `add_transition`, and `display` are never used
[INFO] [stdout]   --> moll-builder/src/parser/runtime.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: Eq+Hash, N: Eq+Hash> Node<T,N> {
[INFO] [stdout]    | -------------------------------------- associated items in this implementation
[INFO] [stdout] 48 |
[INFO] [stdout] 49 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fn next(&self, key: grammar::Token<T,N>) -> Option<&Action> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn add_transition(&mut self, key: grammar::Token<T,N>, next: Action) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn display<'a> (&'a self, grammar: &'a grammar::Grammar<T,N>) -> NodeDisplay<'a, T, N> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NodeDisplay` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/runtime.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | struct NodeDisplay<'a, T, N> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LALRParser` is never constructed
[INFO] [stdout]   --> moll-builder/src/parser/runtime.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct LALRParser<T, N> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `reparse`, `parse_step`, `parse`, and `display` are never used
[INFO] [stdout]    --> moll-builder/src/parser/runtime.rs:91:8
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl<T: Eq+Hash+Copy+Debug, N: Eq+Hash+Copy+Debug> LALRParser<T,N> {
[INFO] [stdout]     | ------------------------------------------------------------------ methods in this implementation
[INFO] [stdout]  90 |
[INFO] [stdout]  91 |     fn reparse(&mut self, stack: &mut Vec<grammar::Token<T,N>>, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn parse_step(&mut self, c: grammar::Token<T,N>, stack: &mut Vec<grammar::Token<T,N>>, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn parse<A: Assembler>(&mut self, input: Vec<grammar::Token<T,N>>, grammar: &grammar::Grammar<T,N>) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn display<'a> (&'a self, grammar: &'a grammar::Grammar<T,N>) -> LALRParserDisplay<'a, T, N> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LALRParserDisplay` is never constructed
[INFO] [stdout]    --> moll-builder/src/parser/runtime.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct LALRParserDisplay<'a, T, N> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Assembler` is never used
[INFO] [stdout]    --> moll-builder/src/parser/runtime.rs:189:11
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub trait Assembler {
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AssemTmp` is never constructed
[INFO] [stdout]    --> moll-builder/src/parser/runtime.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct AssemTmp {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_runtime_parser` is never used
[INFO] [stdout]  --> moll-builder/src/parser/test.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn test_runtime_parser() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> moll-macro/src/lib.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn parser(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
[INFO] [stdout]    |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0425.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `moll-macro` (lib) due to 5 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "75ec4b06dbc23ebf4fa19b99c94211d4b3464b45f5526ce2beaa78b64c548694", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "75ec4b06dbc23ebf4fa19b99c94211d4b3464b45f5526ce2beaa78b64c548694", kill_on_drop: false }`
[INFO] [stdout] 75ec4b06dbc23ebf4fa19b99c94211d4b3464b45f5526ce2beaa78b64c548694
